pub fn process(rng: &mut rand::rngs::ThreadRng, object_list: &mut [crate::object::Object]) {
    for object in object_list {
        // object.cell.acceleration = nalgebra::Vector2::new(
        //     rand::Rng::gen_range(rng, -0.005..=0.005),
        //     rand::Rng::gen_range(rng, -0.005..=0.005),
        // );


        object.cell.velocity += object.cell.acceleration;
        // 最大移动速度
        object.cell.velocity = object.cell.velocity.cap_magnitude(
            object.cell.get_velocity_max_magnitude()
        );

        object.cell.position += object.cell.velocity;
        if object.cell.position.x > 1.0
            || object.cell.position.x < 0.0
            || object.cell.position.y > 1.0
            || object.cell.position.y < 0.0
        {
            object.cell.position.x = rand::Rng::gen_range(rng, 0.0..=1.0);
            object.cell.position.y = rand::Rng::gen_range(rng, 0.0..=1.0);
        }
    }
}